package com.iwhalecloud.citybrain.flow.platform.manager.domain.model.monitor;

import java.util.ArrayList;
import java.util.List;
import java.util.Set;

import com.iwhalecloud.citybrain.flow.platform.manager.domain.model.AdvancedSearchable;
import lombok.Data;

/**
 * @author lilh
 * @date 2019-07-25 14:11
 */
@Data
public class ProcessInstanceQueryVo extends AdvancedSearchable {

    private List<String> applyUserNames = new ArrayList<>();

    private String status;

    private String linkStatus;

    private Integer version;

    /** 模型名称 */
    private String modelName;

    /** 模型编码 */
    private List<String> modelKeys;

    /** 排序字段 */
    private String sortField;

    /** 升序或者降序：asc, desc */
    private String direction;

    /**
     * 流程实例ids
     */
    private Set<String> processInstanceIds;

    /**
     * 流程定义ids
     */
    private Set<String> processDefinitionIds;

    /**
     * 查询结束时间范围开始 (用于实例监控高级筛选)
     */
    private String endTimeStart;

    /**
     * 查询结束时间范围结束(用于实例监控高级筛选)
     */
    private String endTimeEnd;

    /**
     * 查询当前节点操作人(支持选择多个操作人用于实例监控高级筛选)
     */
    private List<String> operatorUserNames = new ArrayList<>();
    /**
     * 当前节点名称
     */
    private String currentNodeName;
    /**
     * 当前节点编码
     */
    private String currentNodeCode;
    /**
     * 流程实例id（支持英文逗号分隔多个）
     */
    private String processInstanceIdStr;

    /**
     * 是否需要验证租户权限，
     */
    private Boolean needCheckAuth;

}
